package org.jeecg.modules.flow.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * @Description: 流程权限控制实体类
 * @Author: jeecg-boot
 * @Date: 2021-11-14
 * @Version: V1.0
 */
@Data
@TableName("flow_permission")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "flow_permission对象", description = "flow_permission")
public class FlowPermission implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "ID")
    private Integer id;
    /**
     * 流程IID
     */
    @Excel(name = "流程ID", width = 15)
    @ApiModelProperty(value = "流程ID")
    private String procdefId;
    /**
     * 流程版本
     */
    @Excel(name = "流程版本", width = 15)
    @ApiModelProperty(value = "流程版本")
    private Integer procdefVersion;
    /**
     * 流程名称
     */
    @Excel(name = "流程名称", width = 15)
    @ApiModelProperty(value = "流程名称")
    private String procdefName;
    /**
     * 客户号
     */
    @Excel(name = "客户号", width = 15)
    @ApiModelProperty(value = "客户号")
    @Dict(dicCode = "cus_no", dictTable = "scm_cus_info", dicText = "cus_name")
    private Integer cusNo;

    /**
     * 机构号
     */
    @Excel(name = "机构号", width = 15)
    @ApiModelProperty(value = "机构号")
    @Dict(dicCode = "organization_id", dictTable = "sys_organization", dicText = "name")
    private String orgNo;

    /**
     * 环节ID
     */
    @Excel(name = "环节ID", width = 15)
    @ApiModelProperty(value = "环节ID")
    private String nodeId;
    /**
     * 环节名称
     */
    @Excel(name = "环节名称", width = 15)
    @ApiModelProperty(value = "环节名称")
    private String nodeName;
    /**
     * 办理人用户ID
     */
    @Excel(name = "办理人用户ID", width = 15)
    @ApiModelProperty(value = "办理人用户ID")
    @Dict(dicCode = "id", dictTable = "sys_user", dicText = "realname")
    private String assignee;
    /**
     * 候选人ID，逗号分隔
     */
    @Excel(name = "候选人ID，逗号分隔", width = 15)
    @ApiModelProperty(value = "候选人ID，逗号分隔")
    @Dict(dicCode = "id", dictTable = "sys_user", dicText = "realname")
    private String candidateUsers;
    /**
     * 用户组id(角色ID),逗号相隔
     */
    @Excel(name = "用户组id(角色ID),逗号相隔", width = 15)
    @ApiModelProperty(value = "用户组id(角色ID),逗号相隔")
    private String candidateGroups;

    /**
     * 创建人
     */
    @Excel(name = "创建人", width = 15)
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
    /**
     * 创建机构
     */
    @Excel(name = "创建机构", width = 15)
    @ApiModelProperty(value = "创建机构")
    private java.lang.String createOrg;

    /**
     * 修改时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "修改时间")
    private java.util.Date updateTime;
    /**
     * 修改人
     */
    @Excel(name = "修改人", width = 15)
    @ApiModelProperty(value = "修改人")
    private String updateBy;
    /**
     * 修改机构
     */
    @Excel(name = "修改机构", width = 15)
    @ApiModelProperty(value = "修改机构")
    private String updateOrg;
}
